import {
	useInfoStore
} from '@/store/store.js';
const baseUrl = "http://localhost:8080"
uni.addInterceptor('request', {
	invoke(args) {	
		if (!args.url.startsWith('http')) {
			args.url = baseUrl + args.url;
		}
		args.header = {
			'source-client': 'miniapp'
		}
		let token= useInfoStore().token?.token;
		if (token) {
			args.header.authorization =token;
		}
	}
})

export const http = (options) => {
	
	return new Promise((resolve, reject) => {
		uni.request({
			...options,
			success(res) {
				if (res.data.code == 2000) {
					resolve(res.data)
				} else if (res.data.code === 0) {
					useInfoStore().gettoken();
					reject(res)
				} else {
					uni.showToast({
						icon: 'none',
						title: res.data.shuju || '请求错误',
					})
					reject(res)
				}
			},
			fail(err) {
				uni.showToast({
					icon: 'none',
					title: '网络错误!',
				})
				reject(err)
			}
		})
	})

}